package com.duoec.dw.lineage.service;

import com.duoec.dw.lineage.dto.statement.SqoopStatement;

import java.util.List;

/**
 * @author xuwenzhen
 */
public interface SqoopStatementAnalyser<T extends SqoopStatement> {
    /**
     * 检查当前行是否需要当前分析器处理
     *
     * @param line 当前行
     * @return true，则会使用analyse方法解析
     */
    boolean check(String line);

    /**
     * 解析脚本，并返回当前的语句
     *
     * @param lines 所有行
     * @param index 开始行，0开始
     * @return 当前语句
     */
    T analyse(List<String> lines, int index);
}
